package com.bjpowerrnode.javase.interger;

/**
 *总结一下以前所学的经典的异常：
 *      空指针异常：NullPointerException
 *      类型转换异常: ClassCastException
 *      数组下标越界异常:ArrayIndexOutOfBoundsException
 *      数组格式化异常:NumberFormatException
 * Integer种常用的方法。
 */
public class IntegerTest07 {
    public static void main(String[] args) {

        //手动装箱
        Integer x = new Integer(100);
        Integer a = new Integer("10");
//        Integer a = new Integer("中文");//编译时没有错误，运行时出错。NumberFormatException

        //手动拆箱
        int y = x.intValue();
        System.out.println(y);
        int z = a.intValue();
        System.out.println(z);

        //重点方法
        //static int	parseInt(String s)
        //将字符串参数解析为带符号的十进制整数。
        int retValue = Integer.parseInt("123");
        //int retValue_1 = Integer.parseInt("字符串");//数组格式化异常：NumberFormatException
        System.out.println(retValue + 100);

        //照葫芦画瓢
        Double retValue_2 = Double.parseDouble("3.14");
        System.out.println(retValue_2 + 1);//4.140000000000001,精度的问题

        Float retValue_3 = Float.parseFloat("1.0");
        System.out.println(retValue_3 + 1);//2.0

        //============一下内容作为了解==========
        //static String	        toBinaryString(int i)
        //返回整数参数的字符串表示形式，以2为基数的无符号整数。
        String binaryString = Integer.toBinaryString(10);
        System.out.println(binaryString);

        //static String	    toHexString(int i)
        //返回整数参数的字符串表示形式，以16为基数的无符号整数。
        //1 2 3 4 5 6 7 8 9 a b c d e f
        String hexString_1 = Integer.toHexString(17);
        System.out.println(hexString_1);
        System.out.println(new Object());//java.lang.Object@6e8cf4c6


        //static String	       toOctalString(int i)
        //返回整数参数的字符串表示形式，以8为基数的无符号整数。
        String octalString = Integer.toOctalString(12);
        System.out.println(octalString);

        //static Integer	valueOf(int i)
        //返回一个表示指定int值的整型实例。
        Integer I1 = Integer.valueOf(100);
        System.out.println(I1);

        //static Integer	valueOf(String s)
        Integer I2 = Integer.valueOf("100");
        System.out.println(I2);

    }
}
